package lesson02;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

/**
 * 功能描述
 *
 * @author wileda
 * @date 2023/02/13  9:51
 */
public class Demo07_FileByName {
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入扫描路径:");
        String rootPath = scanner.nextLine();
        //创建一个文件流
        File file = new File(rootPath);
        //判断是否是一个有效路径
        if(!file.exists()){
            System.out.println("不是一个有效路径");
            return;
        }
        if(!file.isDirectory()){
            System.out.println("输入的不是一个有效目录");
            return;
        }

        System.out.println("请输入要删除的关键字:");
        String keyword = scanner.nextLine();

        if(keyword == null || keyword.equals("")){
            System.out.println("输入的关键字为空");
            return;
        }
        scan(file,keyword);
    }

    private static void scan(File file, String keyword) throws IOException {
        File[] files = file.listFiles();
        if(files == null || files.length == 0){
            return;
        }
        for (File f:files) {
            if(f.isFile()){
                if(f.getName().contains(keyword)){
                    // 找到了，问用户是否要删除
                    System.out.println("找到文件：" + f.getCanonicalPath() + ", 包含关键字 "
                            + keyword + "是否删除? (Y/N)");
                    //接受用户请求d:/temp/test/abc.txt
                    Scanner scanner = new Scanner(System.in);
                    String opt = scanner.nextLine();
                    if(opt.toLowerCase().equals("y")){
                        f.delete();
                        System.out.println("删除文件: " + f.getCanonicalPath() + " 成功.");
                    }
                }
            }else {
                scan(file, keyword);
            }
        }
    }
}
